@大麻哈
3年前 提问
1个回答
sql怎么用代码创建数据库
007bug
3年前
下面以MySQL5.7.8为例:
一、使用SQL语句创建
create database stuDB --stuDB是数据库的名称 on primary -- 默认就属于primary文件组,可省略 ( /*--数据文件的具体描述--*/ name='stuDB_data', -- 主数据文件的逻辑名称 filename='D:\stuDB_data.mdf', -- 主数据文件的物理路径和名称 size=5mb, --主数据文件的初始大小 maxsize=100mb, -- 主数据文件增长的最大值 filegrowth=15%--主数据文件的增长率 ) log on ( /*--日志文件的具体描述,各参数含义同上--*/ name='stuDB_log', filename='D:\stuDB_log.ldf', size=2mb, filegrowth=1mb ) -----2.创建数据表 use StuDB --使用某个数据库(在某个数据库下建表) go if exists(select * from sysobjects where name='stuMarks')--查询数据库是否已存在此表 drop table stuMarks--如果存在该表则删除,不存在不执行此句 create table stuMarks --stuMarks是表的名称 ( ExamNo int identity(1,1) primary key,--列名 数据类型 约束 stuNo char(6) not null,--列名 数据类型 是否允许插入Null值 writtenExam int not null, LabExam int not null ) go -- 其中,列属性"identity(起始值,递增量)" 表示"ExamNo"列为自动编号, 也称为标识列alter table 表名 add constraint 约束名 约束类型 具体的约束说明 alter table 表名 drop constraint 约束名
二、java编写创建数据库和表的程序
import java.sql.*;
public class Test
{
public static void main(String[] args) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
//一开始必须填一个已经存在的数据库
String url = "jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8";
Connection conn = DriverManager.getConnection(url, "root", "123456");
Statement stat = conn.createStatement();
//创建数据库hello
stat.executeUpdate("create database hello");
//打开创建的数据库
stat.close();
conn.close();
url = "jdbc:mysql://localhost:3306/hello?useUnicode=true&characterEncoding=utf-8";
conn = DriverManager.getConnection(url, "root", "123456");
stat = conn.createStatement();
//创建表test
stat.executeUpdate("create table test(id int, name varchar(80))");
//添加数据
stat.executeUpdate("insert into test values(1, '张三')");
stat.executeUpdate("insert into test values(2, '李四')");
//查询数据
ResultSet result = stat.executeQuery("select * from test");
while (result.next())
{
System.out.println(result.getInt("id") + " " + result.getString("name"));
}
//关闭数据库
result.close();
stat.close();
conn.close();
}
}
三、用php代码建立mysql数据库
$rs = mysql_select_db($dbname,$conn);
if(!$rs){
$rs = mysql_query("CREATE DATABASE `$dbname`; ",$conn);
if(!$rs){
$errstr = GetBackAlert("数据库 {$dbname} 不存在,也没权限创建新的数据库!");
echo $errstr;
exit();
}else{
$rs = mysql_select_db($dbname,$conn);
if(!$rs){
$errstr = GetBackAlert("你对数据库 {$dbname} 没权限!");
echo $errstr;
exit();
}else{
$ctStr = 'CREATE TABLE `wish` (
`id` int(11) NOT NULL auto_increment,
`pname` varchar(30) default NULL,
`pqq` varchar(10) default NULL,
`plocal` varchar(50) default NULL,
`pemail` varchar(30) default NULL,
`context` tinytext,
`addDate` datetime default NULL,
`biz1` varchar(250) default NULL,
`biz2` varchar(250) default NULL,
`biz3` varchar(250) default NULL,
`biz4` varchar(250) default NULL,
`biz5` varchar(250) default NULL,
`biz6` int(11) default NULL,
`biz7` int(11) default NULL,
`biz8` int(11) default NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=gbk;';
mysql_query($ctStr,$conn);
}
}